The embodiments relate to optical storage media, and more particularly, to a data buffering method used when performing a read operation on an optical storage medium.
Optical storage media, such as optical discs, are popular storage media frequently used in daily life. An optical disc drive having a buffer memory set therein is a device that reproduces data stored in optical discs. Specifically, the optical disc drive first stores data reproduced through reading the optical disc into the buffer memory, then the optical disc drive or an external host can utilize the data stored in the buffer memory.
In the related art, when performing a read operation on an optical disc, the optical disc drive starts storing reproduced data units into the buffer memory only after it ascertains the ID addresses of the reproduced data units. More specifically, only after the optical disc drive ascertains that the ID address of a currently reproduced data unit matches a target ID address will the optical disc drive start storing the currently reproduced data unit and subsequently reproduced data units into the buffer memory.
FIG. 1 to FIG. 3 illustrate how data units are stored into the buffer memory when the optical disc drive of the related art performs a read operation on an optical disc. In these figures, the optical disc drive tries to match the ID address of each reproduced data unit with a target ID address Target_ID. If the optical disc drive finds that the ID address of a currently reproduced data unit matches Target_ID, it treats the currently reproduced data unit as a target data unit and starts storing the currently reproduced data unit and subsequently reproduced data units into the buffer memory.
In FIG. 1, each of the reproduced data units has an identifiable ID address. The optical disc drive reproduces the data units with ID addresses N−3, N−2, N−1, N, N+1 . . . in turn. When the optical disc drive reproduces the data unit with ID address N, it recognizes that N matches Target_ID and therefore treats the currently reproduced data unit as the target data unit. The optical disc drive starts storing the currently reproduced data unit having ID address N and subsequently reproduced data units into the buffer memory.
In FIG. 2, a data unit ought to be treated as the target data unit has an unidentifiable ID address X. However, due to the ID addresses of the data units ahead of the target data unit, when the data unit with ID address X is reproduced, the optical disc drive can still deduce that X equals N and conclude that X matches Target_ID. Therefore, the optical disc drive correctly treats the currently reproduced data unit as the target data unit and starts storing it and subsequently reproduced data units into the buffer memory.
Under the situations shown in FIG. 1 and FIG. 2, the optical disc drive functions well since it correctly identifies or deduces the ID address of the data unit ought to be treated as the target data unit and therefore starts storing data units into the buffer memory from the correct data unit. Sometimes, however, not only the ID address of the target data unit is unidentifiable, but the ID addresses of the data units ahead of the target data unit are also unidentifiable. In such circumstances, when the optical disc drive reproduces the target data unit, it is not able to identify or deduce the ID address of the target data unit and will not start buffering. Only after the optical disc drive identifies the ID address of a data unit behind the target data unit can the optical disc drive backwardly deduce the ID addresses of already passed data units and reproduce the data unit having a deduced ID address that matches the target ID address again, in order to start buffering.
As shown in FIG. 3, a data unit ought to be treated as the target data unit has an unidentifiable ID address X. Since the data unit with ID address X is immediately adjacent to a blank section, the optical disc drive cannot deduce the exact value of X instantly after reproducing the data unit. Therefore, the optical disc drive will not store the data unit with ID address X into the buffer memory when reproducing the data unit for the first time. Only after the optical disc drive has reproduced the data units with ID addresses larger then N can it conclude that the data unit ought to be treated as the target data unit has been passed already. The optical disc drive then has to reproduce the data unit ought to be treated as the target data unit again, in order to start buffering.
For the optical disc drive of the related art, only after it ascertains that the ID address of a currently reproduced data unit matches the target ID address will the optical disc drive start buffering reproduced data units. When a data unit ought to be treated as the target data unit is reproduced but the optical disc drive fails to identify or deduce it's ID address, the optical disc drive will not start buffering. Extra time is wasted in reproducing data units for the second time if the optical disc drive fails to start buffering when the target data unit is reproduced for the first time.